package com.nsl.my_youlai.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nsl.my_youlai.model.dto.UserAuthInfo;
import com.nsl.my_youlai.model.entity.SysUser;
import com.nsl.my_youlai.model.form.UserForm;
import com.nsl.my_youlai.model.query.UserPageQuery;
import com.nsl.my_youlai.model.vo.UserExportVO;
import com.nsl.my_youlai.model.vo.UserInfoVO;
import com.nsl.my_youlai.model.vo.UserPageVO;

import java.util.List;

public interface SysUserService extends IService<SysUser> {
    UserAuthInfo getUserAuthInfo(String username);

    UserInfoVO getCurrentUserInfo();

    IPage<UserPageVO> getUserPage(UserPageQuery queryParams);

    boolean saveUser(UserForm userForm);

    UserForm getUserFormData(Long userId);

    boolean updateUser(Long userId, UserForm userForm);

    boolean deleteUsers(String ids);

    boolean updatePassword(Long userId, String password);

    List<UserExportVO> listExportUsers(UserPageQuery queryParams);
}
